package com.can.ThreadState;

//测试守护线程
//上帝守护你
//所有的用户线程结束了，守护线程才会结束了
//当只剩下守护线程时，JVM就退出了，守护线程不依赖于终端，而依赖于系统，与系统同生共死
public class TestDaemon守护线程 {

    public static void main(String[] args) {
        God god = new God();
        You you = new You();

        Thread thread = new Thread(god);
        //设置守护线程必须要在线程启动前进行
        thread.setDaemon(true); //默认是false，表示是用户线程，正常线程都是用户线程，设置成true变为守护线程
        thread.start();

        new Thread(you).start(); // 你 用户线程启动..

    }
}

//上帝
class God implements Runnable{

    @Override
    public void run() {
        while (true){
            System.out.println("上帝保佑着你");
        }
    }
}

//你
class You implements Runnable{

    @Override
    public void run() {
        for (int i = 0; i < 36500; i++) {
            System.out.println("你一生都开心的活着");
        }
        System.out.println("-=========goodbye! world!==========");
    }
}
